home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
COMMADIO
/
MORSCODE.LZH
/
CW.DOC
< prev
next >
Wrap
Text File
|
1987-08-12
|
30KB
|
665 lines
CW.COM
08-12-87
-----------------------------------------------------------------
The Original Comprehensive Morse Code Training Program for the PC
-----------------------------------------------------------------
****************************************************************
* PLEASE UPLOAD TO YOUR LOCAL COMPUTER BULLETIN BOARD SYSTEMS! *
****************************************************************
****************************************************************
* PLEASE LET ME KNOW IF YOU PASS YOUR CODE TEST USING CW ! *
****************************************************************
I. Background
A. Version
This documentation is updated to version 3.12 of the program.
B. Purpose
CW was written to help prospective hams overcome what many perceive
to be the biggest obstacle to obtaining an amateur radio license--learning
the Morse code. There are numerous programs available in the public domain
which send Morse code via a PC's speaker, but most are very limited and are
written in BASIC, which requires a clumsy interpreter. CW seeks to provide
a comprehensive program which provides several modes of learning and
practicing the code. The best features of other programs are included and
many new features have been added to those previously available.
C. The Author
The author is a registered patent attorney working with Rockwell
International Corporation in Cedar Rapids, IA (the old Collins Radio Company).
He can be contacted on Compuserve (ID No.: 71016,1355), or GEnie (Address:
L.MURRAH), or by mail at the following address:
10 Cottage Grove Woods, S.E.
Cedar Rapids, IA 52403
The home telephone number is (319) 365-6530.
D. The Software
CW is written in Turbo Pascal. The development of CW began in early
1986 and has gone through a number of versions. New versions will be released
as features are added and corrections are made to previously released versions.
CWnnn.ARC contains the following files:
Name Description Needed to Run?
---- ----------- --------------
ANTENNAS.CW - Names of antennas for QSO feature Yes
CITIES.CW - Names of cities for QSO feature Yes
CW.COM - the main executable file Yes
CW.CFG - the CW configuration file Yes
CW.DOC - this documentation file No
CWGUIDE.TXT - A guide to CW prepared by a user No
FEEDBACK.FRM - Form for user feedback to author (Please!) No
GROUPS.CW - Code groups for Learn feature Yes
GROUP.1 - Alternate code group for Learn feature No
GROUP.2 - Alternate code group for Learn feature No
HAMRADIO.INF - A brief file on ham radio No
JOBS.CW - Name of occupations for QSO feature Yes
MYGROUP.CW - User defined group for Learn feature Yes
NAMES.CW - Names of operators for QSO feature Yes
PAIRS.CW - Character pairings for Learn feature Yes
PROBLEM.RPT - Problem report form for special problems No
README.1ST - Important information about calibration No
RIGS.CW - Names of radio equipment for QSO feature Yes
WORDS.CW - Word list for Receive feature Yes
E. Latest Version
The latest version of CW can usually be found on GEnie or Compuserve.
The latest version can also be obtained by sending a FORMATTED diskette and a
stamped, self-addressed diskette mailer to the author at the above address.
Although I do not operate an active bulletin board system, I do have
RBBS software which I can load to permit downloading CW from my computer. If
you do not have access to GEnie and would like to obtain the latest version of
the program this way, please give me a call on weekends or during early evening
hours, and I will set it up for you.
II. Equipment and Program Configuration
A. General
CW can be run on the IBM-PC and compatibles having 192K of memory and
one floppy disk drive. A hard disk is not required, although you will find
that a hard disk will enhance operation of this and any other program.
Your CONFIG.SYS file should authorize at least 20 files. This can be
done with the following statement:
FILES = 20
CONFIG.SYS may be edited using a word processor or program editor.
B. Computer Clock Speed
The clock speed for your computer will affect the code speed.
Therefore, you should calibrate CW code speed for your computer. If you
have a multiple speed system, use CW only in the calibrated clock speed
unless you wish to recalibrate.
C. Video Display Card
The program was originally written for the Color Graphics Adapter.
However, I have made changes which should permit it to work with a monochrome
card. If you have problems with CW on a monochrome card, please send in the
PROBLEM.RPT form.
D. Memory Resident Programs
Since the code speed for CW is determined by a software loop in
to provide greater code speed accuracy, you will need to recalibrate the
code speed if memory resident programs are used or changed. Such programs
affect the clock operation upon which the loop is based.
III. Your Right to Use CW
A. License
As you may have noticed I have retained the copyright in CW, primarily in
order to control its orderly development. However, I have granted the right
to anyone to use the program for private, non-commercial use without further
permission from me. That is, you can copy it, use it, and share it so long as
you do not charge any money for it.
B. Contributions
Several users have asked me whether I require payment of a "shareware"
fee in order to use the program. The answer is "No"; but if you would like
to support CW with a small contribution (say $5), we certainly would not
refuse your generosity. It would certainly help in continuing to improve
the program.
IV. Tips on Learning the Morse Code
1. Learn the characters by sound, not by sight. Each of the characters
has its own characteristic length and rhythm. Do not memorize the characters
using the visual dot and dash symbols. That will slow you down!
2. Set the character speed to 13 words per minute and the send speed
at whatever lower speed you desire. Since your ultimate goal is 13 words
per minute, it is much easier to learn how the characters sound at that
speed even though they are sent at a lower speed. This helps to eliminate
the "hump" that most people experience around 10 words per minute.
3. Study every day, but if you feel you are stuck and not making
progress, take a few days off. It's amazing how this will sometimes clear
your head.
4. Try to copy code in you head as much as possible.
5. Get access to a ham receiver and try to copy off real transmissions
off the air.
6. As soon as possible learn the sounds of whole words.
7. Turn on the CW <G>roups function and let it send in the background
while you are doing something else, such as reading the paper or working on a
construction project. Try to identify characters while doing the other
activity. This will help your brain shift to "automatic" and will help the
code sounds become a natural "part of the wallpaper."
8. Although the code test no longer requires that you demonstrate an
ability to send code, you should get a code practice oscillator and practice
your sending.
9. As soon as you pass the novice test, get a rig on the air and operate
on the novice bands. Nothing will increase your speed and concentration as
well as the pressure of an on-the-air contact. Don't worry about being
perfect--the other guy is probably in the same boat as you.
V. Using CW
A. The Character Set
Since several Morse code procedure signs are not printable as ASCII
characters since they are a combination of two characters, special characters
are used to represent them as follows as follows:
Prosign ASCII Representation Meaning
------- -------------------- -------
<AR> @ Over
<SK> $ End of contact, end of message
<AS> ! Wait, stand-by
<KN> # Over-specified station only
B. Setting Up CW
1. The Configuration File
The default values for code timing, code speed, oscillator tone,
screen graphics type, and screen colors are contained in the CW.CFG file. If
this file is not found when the CW is first run, it will be created. The code
speed and oscillator tone can be changed using the function keys as defined
hereinafter any time code is being sent. The user is given the opportunity to
save the new settings when the program is exited using the <X> command. The
default values for code timing, screen graphics type, and screen colors can
be changed from within CW using the <U>tilities command in the main menu.
2. Code Timing
The timing of the code in CW is initially set assuming a computer
clock speed of 4.77 MHz. If your computer runs at a different speed or uses
background programs which steal clock cycles, you will need to use the
<T>iming subcommand in the <U>tilities menu to change the timing factor. To
decrease code speed increase the value of the timing factor and vice versa.
Use the <S>peed Test option and a clock with a sweep second hand to test the
speed resulting from a new setting. Keep changing the factor until the proper
code speed in attained. With a clock speed of 4.77 HMz. and with no memory
resident programs installed, the author has found that a timing factor of about
1075 is necessary.
You should ALWAYS check the code speed for your computer before
relying upon CW.
If users who need to change the timing factor will relay the
results to me, I will include a table for various computers and clock speeds
in future editions of this file.
3. The Code Speed
The code speed can be set at any time code is being sent using the
function keys as follows:
F1 - Decrease SEND Speed F2 - Increase SEND Speed
F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
F5 - Decrease WORD Speed F6 - Increase WORD Speed
F9 - Set SEND, CHAR, and WORD to Same Speed
You can set the speed at which the character is sent separately
from the overall send speed (the Farnsworth method). For example, you can
set the send speed at a slow speed but set the characters to be sent using
shorter dits and dahs equivalent to a much faster send speed. This makes it
easier to increase your code speed since you will already know the sound of
the characters at the higher speed.
You can also set the word speed separately from send and character
speed. This permits you to learn the sounds of whole words individually sent
at high speeds but spaced at a much slower speed.
The minimum code speed is 3 WPM, and the maximum is 99 WPM (good
luck with that setting!). The send speed and character speeds are coupled so
that the send speed will never exceed the character speed. Also in the speed
test mode, the word speed will automatically be set to the send speed so that
the test is valid.
4. The Oscillator Tone
The oscillator tone can be set to suit your tastes at any time
code is being sent with the function keys as follows:
F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
The minimum tone is 400 Hz., and the maximum is 1200 Hz. The author has
found that about 500 Hz. is optimum for sound and volume.
5. Video Type
At program invocation CW will determine the color video type.
However, this can be changed if necessary (e.g., you have two video cards
installed) with the <V>ideo Type command. Screen colors will automatically
be set for the selected video card.
6. Screen Colors
The colors of the screen, the windows, and the highlighting can
be set to suit your taste using the <U>tilities command and the <C>olors
subcommand when the utilities menu window appears. The colors are
initialized for a black on white when CW is first run.
7. Hiding the Text
If you would like to hide the text so that you are not tempted to
peek, this can be done with the F10 key at any time code is being sent. This
can be reversed using the same key. The current status is displayed on the
status line. With some functions the text will be hidden regardless of the
setting of the hide subcommand. The hide function also suppresses the display
of 'DIT' and 'DAH' in the <L>earn mode.
8. Speed Test
You can check the speed at which CW sends by using the
<U>tilities command and the <S>peed Test subcommand. Simply count the number
of time that the word PARIS is sent in one minute, and that will be the code
speed. You will probably need to use this command in conjunction with the
<T>iming command to calibrate code speed if your computer runs at other than
4.77 MHz. or if you are running background programs which steal clock cycles.
IT IS ALWAYS A GOOD IDEA TO CHECK THE CODE SPEED PRIOR TO RELYING
UPON CW TO PREPARE YOU FOR A CODE TEST.
8. Altering the Data Files
Certain of the data files may be customized to suit your desires.
This is described more fully in connection with the <Q>SO and <W>ords function
under the <R>eceive command.
C. The CW Status Lines
1. The Message Line (Top)
At all times while CW is running, the top line of the screen is
used to identify the current function and the key necessary to abort the
current function.
2. The Parameters Line (Bottom)
Likewise, the bottom line at the bottom of the screen will display
from left to right the code send speed in words per minute, the code character
speed in words per minute, the oscillator tone frequency in cycles per second,
and whether or not the text is displayed.
D. The ESC Key
At any time that code is being sent, the current operation can be
aborted by pressing the ESC key. A positive indication is given by a beep
sound and a large right pointer is printed on the screen. In most functions
it is necessary to press another key to continue as indicated on the message
line.
E. The Function Keys
The function keys are active any time code is being sent. They are
defined as follows:
F1 - Decrease SEND Speed F2 - Increase SEND Speed
F3 - Decrease CHAR Speed F4 - Increase CHAR Speed
F5 - Decrease WORD Speed F6 - Increase WORD Speed
F7 - Decrease Speaker Tone F8 - Increase Speaker Tone
F9 - Set SEND, CHAR, and WORD to Same Speed
F10 - Hide/Unhide Text
F. Starting Out--The <L>earn Command
To help you learn the Morse code, CW provides a <L>earn function, which
presents the characters in sound-related groups.
It is recommended that the <L>earn subcommands be used in the same
as the selections are numbered.
1. The Basic Code Sounds--Dits and Dahs
The <1> selection teaches you the basic DIT (short) and DAH (long)
sounds. After sending DITS and DAHS in various formats, you are asked to
identify randomly presented DITS and DAHS using the '1' key for DITS and the
'2' key for DAHS.
2. Character Length
The <2> selection sends a character and asks you how many total
sound elements (DITS and DAHS) are included in the character. This forces you
to listen for the LENGTH of a character, which is a very important character
attribute.
3. Character Pattern
The <3> selection sends a character and asks you how many DAHS are
included in the character. Since DAHS are the dominant factor in determining
the overall sound pattern or rhythm of a character, this forces you to
concentrate on this character attribute.
4. The Character Sounds
The <4> selection combines the previously learned DITS and DAHS
into complete character sounds. The characters are paired with
similar sounds in a series of increasingly harder steps, and the user is asked
to identify the characters in each step randomly chosen. The user should
start with step 1 and learn to distinguish the characters in each step before
continuing on to the next higher step. After all 59 steps have been mastered,
the user should be ready to start with the <G>roups and <L>evels commands.
5. Character Groups
The <5> selection lets you study each character group separately.
The characters from the selected group are presented randomly, and you are
asked to identify them.
The groups used in CW are those used in the ARRL publication "Tune
in the World with Ham Radio". If you are using materials having a different
grouping, you can change the groups by altering the contents of the file named
GROUPS.CW using a text editor or word processor (you must use the ASCII store
mode so that nothing but printable ASCII characters are stored in the file.
The groups which are initially installed are included in the file GROUPS.1,
and a second grouping used in older ARRL code booklets are included in
GROUPS.2. To use either of these groups, just delete the current GROUPS.CW
file and copy either GROUPS.1 or GROUPS.2 to the filename GROUPS.CW. Please
note that only the letters and numbers can be changed. Punctuation and prosigns
are automatically added as the last two group.
If the display of 'DIT' and 'DAH' prove to be distracting in
either this or the <L>evels command which follows, they can be suppressed by
using the F10 key any time code is being sent.
6. Character Learning Levels
The <6> selection permits you to study the various groups in a
progressive manner starting with the simple Level 1 sounds and adding
characters with each level. Each level is simply a combination of groups 1
as defined above through the group whose number is the same as the level
number. After the new characters for each level are presented, you are asked
to identify randomly presented characters from the level selected.
7. User Defined Group
If you are having a particularly hard time with several characters,
you can create your own special character group and study it using the
<M>y Group subcommand. The special group can be created by editing the file
MYGROUP.CW with a word processor in the ASCII output mode or an editor. The
file can have only ONE line and is limited to 10 characters!
6. Viewing the Character Steps and Groups
The character steps and groups used in the preceding subcommands
may be displayed using the <V>iew subcommand.
G. Receiving Code
Once you have mastered the character sounds, you can work on increasing
your speed. CW provides several ways to do this:
1. The <G>roups Command
One of the classic ways of practicing code reception is sending
five letter groups of random characters. The <G>roups command does this.
2. The <W>ords Command
If you would rather work with real words, use this command. In
order to promote recognition of whole words, the words are not printed on the
screen until the entire word has been sent in code.
The words sent by this command can be changed by editing the file
WORDS.CW with a word processor. Make sure each word is on a separate line
followed by a carriage return and that there are no blank lines after the last
entry. The maximum number of words which may be entered into the file is 500.
Each word may be up to 10 characters in length.
3. The <Q>SO Command
Use this command if you would like to copy a simulated QSO (a
radio contact). A standard pattern is used, but the call signs, names, etc.,
are randomly selected from a list. The call signs are randomly selected from
all the possible call signs. This means that some calls signs which have not
yet been issued will be used.
The names, antenna types, city names, and rig types can be changed
to reflect your desires by editing the files ANTENNAS.CW, NAMES.CW, CITIES.CW,
RIGS.CW, and JOBS.CW with a word processor. Simply place your entry on a
single line followed by a carriage return. Make sure there are no blank lines
in the middle of the file or after the last entry. The maximum number and
length of the entries are as follows:
File Max. No. Entries Max. Length Each Entry
---- ---------------- ----------------------
ANTENNAS.CW 50 15
CITIES.CW 200 15
JOBS.CW 100 20
NAMES.CW 200 10
RIGS.CW 100 15
If the QSO is sent in the text hide mode, the user is given the
opportunity to review the QSO before exiting.
4. The <E>nter Command
With this command you can have a friend enter test messages via the
keyboard, and you can attempt to copy it without looking at the screen. The
maximum length of the message is 255 characters. This command differs from
the <K>eyboard Send command in that nothing is sent until RETURN is pressed.
5. The <D>isk Command
This command sends the contents of a disk text file in Morse code.
You can practice by having someone create a text file of unknown content.
Another idea is to exchange disks with a friend who is also studying the code
and carry on a 'disk QSO' between the two of you.
The disk file required for this command can be any ASCII text file
created with a text editor or a word processor. If a word processor is used,
make sure it is in the ASCII store mode so that only ASCII characters are
stored in the file. Unprintable characters are ignored, but a time delay for
the missing character is inserted, which slows down the send speed. To
familiarize yourself with the use of this command, you can enter the name of
the words file (WORDS.CW) or any of the other data files having the CW
extension, although this will not provide very useful code practice.
6. The <Z>oom Command
This command lets the user receive 5 character code groups at
increasing speeds. The user is asked to enter the start speed, the end speed,
and the number of groups to be sent at each speed. After the specified number
of groups is sent, the code speed is increased by 1 WPM until the end speed is
reached.
H. Sending Code
1. The <K>eyboard Send Command
You may wish simply to select enter individual keys to hear how
they sound. This is the purpose of the <K>eyboard send function. You can
type ahead of the CW sender by 80 characters maximum. Unlike the <E>nter
command, you do not have to press RETURN to start sending characters.
2. The <M>anual Key Command
You may also wish to practice your "fist", i.e., your manual
sending ability. This can be done by using the ALT key as a telegraph
key. You may not wish to overuse this command due to the possible wear on
the ALT key.
I. The <T>est Command
1. The <F>CC Test Command
This command permits you to take a simulated code test much
like the one you would take when you sit for your license exam. The test
is based upon the simulated contact used for the <Q>SO command discussed
above. The number of questions asked does not necessarily correspond to
the actual number on the test. Recommendations for increasing the realism of
this function are solicited from users.
After the test has been taken, the user is given the opportunity
review the text of the test QSO.
2. <K>eyboard Receive Test
This command lets you test your approximate receive speed. The
computer will send a character and wait for you to type in the correct key.
When you exit this function using the ESC key, the computer will print out
your the approximate send speed, your approximate receive speed, and your
accuracy rate. This command can also be used to learn to copy code on a
keyboard. Although you will not be tested on a keyboard, it is the fastest
way to copy code and is the methos used by all the military services.
VI. We Need Your Feedback and Problem Reports
A. Feedback
As I continue to improve CW, it is helpful for me to have you feedback
about what you like about CW, what you don't like about it, any bugs or
cosmetic defects you have discovered, what you would like to see changed or
added, etc. Please take the time to fill out and mail the form in the file
FEEDBACK.FRM to me. It would be much appreciated.
If you would like to have the latest version of CW, please send a
formatted diskette and a self-addressed, stamped diskette mailer along with
your feedback form.
I particularly need feedback from those who use CW to train novices.
If I know what your needs are, I will endeavor to add those features to CW.
B. Problems
If you encounter severe problems in running CW, please complete and
return PROBLEM.RPT to me.
C. Send Me Your Good News!
If CW helps you obtain your license or upgrade to a higher class of
license, I would love to hear about it! Please take the time to drop me a
and let me hear your good news!
VI. Timing Calculations
A. Element Lengths
1. One bit is defined as one dot time.
2. Thus the code elements are defined as follows:
dot = 1 bit
dash = 3 bits
space between dots and dashes = 1 bit
space between characters = 3 bits
space between words = 7 bits
B. Speed Calculations in General
1. The word PARIS is used as the standard word, i.e. the code
speed is the number of times PARIS is sent in one minute.
2. PARIS has 31 bits, or an average of 6.2 bits per character.
C. Speed Calculations for keyboard test function.
1. The average number of bits per character in all the numbers and
letters is 9.83.
2. The average character takes 9.83/6.2=1.58 times as long to send
as the average character in the standard word.
3. A word is assumed to be 5 characters in length.
4. A 7 bit wordspace is added for every 5 characters --
0.71 character lengths.
5. Thus, wpm can be estimated as recv_speed*60/5*1.58.
8. Spaces between characters are ignored.
VII. Join the ARRL
If you are a prospective ham, you may wish to join the American Radio
League, which is the official organization representing amateur radio
in the United States. The ARRL publishes a monthly magazine called QST and
provides many helpful services and publications. The address is:
American Radio Relay League
225 Main Street
Newington, CT 06111
VIII. Troubleshooting
A. Code Speed Is Too Fast or Too Slow
Calibrate the program as described hereinabove and in the README.1ST
file. For best results you should disable memory resident programs since they
steal clock cycles which CW depends upon for proper timing.
B. 'File Not Found '
1. Make sure all the required files listed early in this
documentation are on the program disk.
2. Make sure the program disk is in the currently active drive
when run.
3. Make sure that CW.CFG is present and is not shown with 0 bytes.
The latter is caused if the program is rebooted while setting program
parameters or using certain utilities. If this happens, erase CW.CFG and start
the program again. You will be forced to reconfigure CW unless you have saved
your current configuration in a backup file.
C. Program Works, but No Sound
1. Try another program which makes sounds or plays music. If that
program does not work, then the problem is in your system. If you do not have
such a program, check your distribution disk for a BASIC music program which
you can run using BASICA.
2. Apparently some IBM clones do not fully implement the speaker
output and will make bell sounds (beep) only. If you have such a machine, CW
will not work on this type of system.